﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataStruct.Sort
{
    /// <summary>
    /// 改进版的冒泡排序 使用哨兵模式可以提前中断排序
    /// </summary>
    internal class BubbleSort2
    {
static int[] data = { 3, 5, 6, 45, 85, 745, 95, 74, 1 };
public static void Sort()
{
    int temp;
    int flag = 0;
    for (int i = data.Length - 1; i > 0; i--)
    {
        flag = 0;
        for (int j = 0; j < i; j++)
        {
            if (data[j] > data[j + 1])
            {
                temp = data[j];
                data[j] = data[j + 1];
                data[j + 1] = temp;
                flag++;
            }
        }
        if (flag == 0)
        {
            break;
        }
    }
    Print(data);
}

        public static void Print(int[] data)
        {
            for (int i = 0; i < data.Length; i++)
            {
                Console.Write(data[i] + " ");
            }
        }
    }
}
